home *** CD-ROM | disk | FTP | other *** search
/ Skunkware 5 / Skunkware 5.iso / src / X11 / wais / ir / cdialect.h < prev    next >
C/C++ Source or Header  |  1995-05-09  |  3KB  |  137 lines

  1. /* WIDE AREA INFORMATION SERVER SOFTWARE:
  2.    No guarentees or restrictions.  See the readme file for the full standard
  3.    disclaimer.
  4.  
  5.    5.29.90    Harry Morris, morris@think.com
  6.  
  7.    $Header: /y/src/wais/wais-8-b5/ir/RCS/cdialect.h,v 1.1.1.1 1992/07/11 00:44:33 curtisg Exp curtisg $
  8.    $Log: cdialect.h,v $
  9.  * Revision 1.1.1.1  1992/07/11  00:44:33  curtisg
  10.  * Added SCO UNIX configuration
  11.  *
  12. */
  13.  
  14. /* there are three kinds of C that we have encountered so far:
  15.  
  16.          1. ANSI_LIKE     - full prototypes and stdargs and ansi includes
  17.          2. PROTO_ANSI     - full prototypes, varargs and misc includes
  18.          3. K_AND_R    - k&r prototypes, varargs and misc includes
  19.          
  20.   This file is a mess because some compilers do not handle elif.  sorry.
  21.  
  22.   defined symbols for other machines:
  23.     hp:         hpux
  24.     Next:       NeXT 
  25. */
  26.  
  27. #ifndef C_DIALECT
  28. #define C_DIALECT
  29.  
  30. /*----------------------------------------------------------------------*/
  31.  
  32. #ifdef STDC
  33. #define ANSI_LIKE
  34. #endif /* def STDC */
  35.  
  36. #ifdef __STDC__
  37. #if !defined(M_XENIX) /* for some reason XENIX defines __STDC__ */
  38. #define ANSI_LIKE
  39. #endif /* ndef M_XENIX */
  40. #endif /* __STDC__ */
  41.  
  42. #if defined(M_UNIX)
  43. #define ANSI_LIKE
  44. #define PROTO_ANSI
  45. #define SYSV
  46. #endif
  47.  
  48. #ifdef THINK_C
  49. #define ANSI_LIKE
  50. #endif /* THINK_C */
  51.  
  52. #ifdef MPW            
  53. #define ANSI_LIKE
  54. #endif /* MPW */
  55.  
  56. #ifdef VAX_C            /* vms */
  57. #define ANSI_LIKE
  58. #endif /* VAX_C */
  59.  
  60. #ifdef MSC            /* XXX not sure if this is correct */
  61. #define ANSI_LIKE
  62. #endif /* MSC */
  63.  
  64. #ifndef ANSI_LIKE
  65.  
  66. #ifdef SABER            /* c interpreter/debugger */
  67. #define PROTO_ANSI
  68. #endif /* SABER */
  69.  
  70. #ifdef cstar            /* parallel C on the CM */
  71. #define PROTO_ANSI
  72. #endif /* cstar */
  73.  
  74. #ifndef PROTO_ANSI
  75.  
  76. #ifdef SUN_C            /* XXX not sure if this is correct */
  77. #define K_AND_R
  78. #endif /* SUN_C */
  79.  
  80. #ifdef __GNUC__            /* gcc in traditional mode */
  81. #define K_AND_R            /* gcc in ansi mode defines __STDC__ */
  82. #endif /* __GNUC__ */
  83.  
  84. #if defined(M_XENIX)
  85. #if defined(M_UNIX)
  86. #ifndef SYSV
  87. #define SYSV
  88. #endif /* SYSV */
  89. #else /* M_UNIX */
  90. #define K_AND_R
  91. #define NOTCPIP /* doesn't support TCP */
  92. #define SYSV /* is based on system V */
  93. #endif /* M_UNIX */
  94. #endif /* M_XENIX */
  95.  
  96. /* otherwise */
  97. #define K_AND_R            /* default to the stone age */
  98.  
  99. #endif /* ndef PROTO_ANSI */
  100. #endif /* ndef ANSI_LIKE */
  101.  
  102. /* set up the function prototyping convention */
  103.  
  104. #if defined(ANSI_LIKE) || defined(PROTO_ANSI)
  105. #define _AP(args) args
  106. #endif /* def ANSI_LIKE */
  107.  
  108. #ifdef K_AND_R
  109. #define _AP(args) ()
  110. #endif /* def K_AND_R */
  111.  
  112. /* if you are not k_and_r, then load in ustubs always */
  113. #ifdef K_AND_R
  114. #include "ustubs.h"
  115. #endif /* def K_AND_R */
  116.  
  117. /* Comment this back in to figure out what the compiler thinks we are */
  118. /*
  119. #ifdef ANSI_LIKE
  120. WeareAnsiLike
  121. #endif
  122. #ifdef PROTO_ANSI
  123. WeareProtoAnsi
  124. #endif
  125. #ifdef K_AND_R
  126. WeareKandR
  127. #endif
  128. Crash-and-Burn
  129. */
  130. /* End of chunk to comment back in */
  131.  
  132. #endif /* ndef C_DIALECT */
  133.  
  134. /*----------------------------------------------------------------------*/
  135.  
  136.  
  137.